from enum import Enum


class BusinessType(Enum):
    """
    业务操作类型

    OTHER: 其它
    INSERT: 新增
    UPDATE: 修改
    DELETE: 删除
    GRANT: 授权
    EXPORT: 导出
    IMPORT: 导入
    FORCE: 强退
    GENCODE: 生成代码
    CLEAN: 清空数据
    """

    OTHER = 0
    INSERT = 1
    UPDATE = 2
    DELETE = 3
    GRANT = 4
    EXPORT = 5
    IMPORT = 6
    FORCE = 7
    GENCODE = 8
    CLEAN = 9


class RedisInitKeyConfig(Enum):
    """
    系统内置Redis键名
    """

    @property
    def key(self):
        return self.value.get("key")

    @property
    def remark(self):
        return self.value.get("remark")

    ACCESS_TOKEN = {"key": "access_token", "remark": "登录令牌信息"}
    SYS_DICT = {"key": "sys_dict", "remark": "数据字典"}
    SYS_CONFIG = {"key": "sys_config", "remark": "配置信息"}
    CAPTCHA_CODES = {"key": "captcha_codes", "remark": "图片验证码"}
    ACCOUNT_LOCK = {"key": "account_lock", "remark": "用户锁定"}
    PASSWORD_ERROR_COUNT = {"key": "password_error_count", "remark": "密码错误次数"}
    SMS_CODE = {"key": "sms_code", "remark": "短信验证码"}
    LLM_CONFIG = {"key": "llm_config", "remark": "大模型配置"}
    OCR_API_KEY = {"key": "ocr_api_key", "remark": "OCR服务api key"}
